A cellular neural network (CNN) is a multidimensional lattice array of a plurality of identical cells. In a two-dimensional planar array of cells, the array may be either square, rectangular, hexagonal, etc. For the 3-dimensional case, the array in any direction can have one or more cells, i.e., there does not have to be the same number of cells in each of the 3-dimensions of the array. With respect to any single cells, the cells closest to it are its neighbor cells. Additionally, the neighbor cells of each cell expand concentrically from that single cell as layers of neighbors. Each cell in the array interacts directly non-linearly and in continuous time (possibly delayed) within a prescribed number (r) of r-neighborhood layers of its neighborhood of cells within the lattice. The r-neighborhood is also called a "receptive field of radius r." Cells not directly connected together may affect each other indirectly because of the propagation effects of the CNN. A CNN is capable of high-speed parallel signal processing.
In a two dimensional, single-plane CNN, each neighborhood of cells will also be two dimensional and be a sub-set of the cells in the single-plane of the CNN. In a three dimensional CNN, there will be at least two planes of CNNs and the layers of neighbor cells may be either restricted to the single plane in which they are physically located, or the layers of neighbor cells could also be three dimensional and incorporate portions of several planes much like layers of an onion. The actual application dictates whether the layers of neighbor cells are two or three dimensional.
The basic unit of a CNN is the cell. Each cell contains linear and nonlinear circuit elements, which may include linear capacitors, linear inductors, linear resistors, linear and nonlinear controlled sources, and independent sources. Further, the application specific cloning template determines the interconnection of the cells and cell planes. In the past, if a different application was desired the ICs that incorporate the cells would have to be interchanged for other ICs for cells that have been interconnected in accordance with the cloning template for the new application.
If a CNN can be made programmable without the need to substitute hardware components in order to do so then a CNN would become an analog supercomputer that could be faster than digital supercomputers which are currently available. The present invention makes that a reality.